package com.mechat.common.user.service;

import com.mechat.common.user.domain.dto.ItemInfoDTO;
import com.mechat.common.user.domain.dto.SummeryInfoDTO;
import com.mechat.common.user.domain.entity.User;
import com.mechat.common.user.domain.vo.req.BlackReq;
import com.mechat.common.user.domain.vo.req.user.ItemInfoReq;
import com.mechat.common.user.domain.vo.req.user.SummeryInfoReq;
import com.mechat.common.user.domain.vo.resp.BadgeResp;
import com.mechat.common.user.domain.vo.resp.user.UserInfoResp;

import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author <a href="https://gitee.com/sunxiaojie/mechat"></a>
 * @since 2024-01-15
 */
public interface UserService {

    void register(User insert);

    // 获取用户个人信息
    UserInfoResp getUserInfo(Long uid);

    // 修改用户名
    void modifyName(Long uid, String name);

    // 可选徽章预览
    List<BadgeResp> badges(Long uid);

    // 佩戴徽章
    void wearingBadge(Long uid, Long badgeId);

    // 拉黑
    void black(BlackReq req);

    // 加载用户详情
    List<SummeryInfoDTO>  getSummeryUserInfo(SummeryInfoReq req);

    List<ItemInfoDTO> getItemInfo(ItemInfoReq req);
}
